package com.example.concurrent.ConcurrentMap;

import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;

/**
 * Created by Administrator on 2017/2/10 0010.
 */
public class ConcurrentMapDemo {
    public static void main(String[] args) {
        /**
         * ConcurrentHashMap 和 java.util.HashTable 类很相似，但 ConcurrentHashMap 能够提供比 HashTable 更好的并发性能。在你从中读取对象的时候 ConcurrentHashMap 并不会把整个 Map 锁住。此外，在你向其中写入对象的时候，ConcurrentHashMap 也不会锁住整个 Map。它的内部只是把 Map 中正在被写入的部分进行锁定。
         另外一个不同点是，在被遍历的时候，即使是 ConcurrentHashMap 被改动，它也不会抛 ConcurrentModificationException。尽管 Iterator 的设计不是为多个线程的同时使用。
         */

        ConcurrentMap concurrentMap = new ConcurrentHashMap();
        concurrentMap.put("key", "value");
        Object value = concurrentMap.get("key");
        System.out.println(value);
    }
}
